package com.bdqn.oa.dao;
import com.bdqn.oa.entity.Position;
import com.bdqn.oa.utils.Page;
import java.sql.SQLException;
import java.util.List;

/**
 * @author zhowei
 * @date 2022/7/20 17:03
 */
public interface PositionDao {
    /**
     * 增加部门下的岗位（通过岗位名）
     * @param position
     * @return
     */
    int insertPostion(Position position) throws SQLException;

    /**
     * 通过岗位名查找岗位
     * @param name
     * @return
     */
    List<Position> getPositonByName(String name) throws SQLException;

    /**
     * 查找某部门下的所有岗位
     * @param DepId
     * @return
     */
    List<Position> getPositonByDepIdOfList(Integer DepId) throws SQLException;

    /**
     * 查找某部门下的所有岗位的分页详情
     * @param DepId
     * @return
     */
    Page<Position> getPositonByDepIdOfPage(Integer DepId,long pageNumber,long pageSize) throws SQLException;

    /**
     * 查找某部门id下的某岗位
     * @param DepId
     * @param name
     * @return
     */
    Position getPositionByDepIdAndName(Integer DepId,String name) throws SQLException;

    /**
     * 通过岗位id查找岗位
     * @param id
     * @return
     */
    Position getPositionById(Integer id) throws SQLException;

    /**
     * 修改某部门下的岗位名称
     * @param position
     * @return
     */
    int updatePositionName(Position position) throws SQLException;

    //bentch批量修改

    /**
     * 岗位分页查看
     * @return
     */
    Page<Position> getPositionByPage(long pageNumber,long pageSize) throws SQLException;

    /**
     * 获取岗位数量
     * @return
     */
    int countPosition() throws SQLException;

    /**
     * 获取部门下的岗位数量
     * @param DepId
     * @return
     */
    int countPositionByDepId(Integer DepId) throws SQLException;


}
